package com.ruoyi.app.api.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 用户管理对象 app_user
 *
 * @author Zach
 * @date 2023-11-14
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("app_user")
public class AppUser extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 手机号
     */
    private String phoneNumber;
    /**
     * 用户名
     */
    private String userName;
    /**
     * 密码
     */
    private String userPassword;
    /**
     * 用户类型
     */
    private Long userType;
    /**
     * 用户等级
     */
    private Long userLevel;
    /**
     * 身份证号码
     */
    private String userIdCard;
    /**
     * 身份证照片
     */
    private String userIdCardPath;
    /**
     * 身份证照片
     */
    private String userIdCardPath2;
    /**
     * 用户头像地址
     */
    private String userPath;
    /**
     * 真实姓名
     */
    private String userIdName;
    /**
     * 实名状态
     */
    private Long userRealStatus;
    /**
     * 上级
     */
    private Long superUserId;
    /**
     * 认证状态
     */
    private Long certificationStatus;
    /**
     * 用户状态
     */
    private Long status;
    /**
     * 是否已删除
     */
    private Long isDel;

    /**
     * 获取登录id
     */
    public String getLoginId() {
//        if (userType == null) {
//            throw new IllegalArgumentException("用户类型不能为空");
//        }
//        if (id == null) {
//            throw new IllegalArgumentException("用户ID不能为空");
//        }
        return "app_user" + CacheConstants.LOGINID_JOIN_CODE + id;
    }

}
